The disclosure generally relates to the field of computer networks, and more particularly to network functions virtualization.
Networking environments typically consist of physical hardware, such as routers and firewalls, interconnected with physical cabling. To change a network, upgrade hardware, etc., a network administrator typically interacts with the hardware directly. For example, to add networking capacity, a network administrator might purchase a new router, install the router in a data center, and physically connect the router with Ethernet cables to other networking components. To update network component configurations, the network administrator might connect to the particular network component over the network and interact directly with software on the network component.
More recently, software-defined networking (SDN) and the network functions virtualization has increased the flexibility afforded to network administrators. While SDN implementations can vary, SDN implementations typically facilitate programmatic interactions with networking hardware by providing, for example, application program interfaces (APIs). Thus, instead of connecting directly to a particular network component (e.g., via a telnet or secure shell), a network administrator can use a management interface to send messages to the network component via the API, which can be implemented using standard web service protocols. Further, the APIs facilitate the use of software to modify the network configuration without explicit user intervention. For example, a software process might monitor the status of various network components. If a network component becomes nonfunctional (e.g., loses power), the software process might dynamically change the network configuration to use a different network component in place of the nonfunctional network component.
Network functions virtualization replaces physical network components with software-based network components (referred to herein as “virtualized network functionality” and “software-defined network components”), similar to the replacement of physical servers by virtual machines. Thus, instead of purchasing and installing a new router when network capacity is exceeded, a “soft” router can be provisioned. Although ultimately backed by physical hardware, virtualized network functionality can be implemented on top of general purpose hardware instead of highly specialized, dedicated hardware. Thus, the same physical resources can be provisioned to perform different functions at different times.